﻿using BenCaoXuan.Infrastructure.Attr;
using BenCaoXuan.Infrastructure.Dto;
using BenCaoXuan.Infrastructure.Dto.Admin.employee;
using BenCaoXuan.Infrastructure.Dto.PC;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BenCaoXuan.Service.Interface.PC
{
    [Provider_]
    public interface I_Main_Service
    {

        /// <summary>
        /// 新增预约
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Add_Appointment(Appointment_Dto dto);

        /// <summary>
        /// 获取当天预约记录
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_Appointment(Appointment_Dto dto);

        /// <summary>
        /// 获取当天的未拨打预约
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_Inform_Appointment(Appointment_Dto dto);


        /// <summary>
        /// 修改预约状态
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Change_Appointment_Status(Appointment_Dto dto);


        /// <summary>
        /// 获取空闲员工(理疗师)
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_Employees();

        /// <summary>
        /// 获取员工(前台)
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_Employees_Front();


        /// <summary>
        /// 获取空闲房间
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_Leisure_Room();

        /// <summary>
        /// 获取所有房间
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_Rooms();


        /// <summary>
        /// 新增客户
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Add_Customs(Customs_Dto dto);

        /// <summary>
        /// 获取待安排的预约信息
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_Plan_Appointment(Appointment_Dto dto);

        /// <summary>
        /// 直接生成订单
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Add_Order(string id,Orders_Dto dto);

        /// <summary>
        /// 预约安排成订单
        /// </summary>
        /// <param name="id"></param>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Arrange_Add_Order(string id, Orders_Dto dto);

        /// <summary>
        /// 获取待支付的订单
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_Plan_Order(Orders_Dto dto);


        /// <summary>
        /// 获取所有支付方式
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_Pay();

        /// <summary>
        /// 订单支付
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Order_Pay(Orders_Dto dto);


        /// <summary>
        /// 修改订单服务
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Amend_Order(Orders_Dto dto);

        /// <summary>
        /// 确认订单
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Order_Ko(string id);


        /// <summary>
        /// 预约已通知
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Appointment_Inform(string id);

        /// <summary>
        /// 微信支付接口
        /// </summary>
        /// <returns></returns>
        bool Pay();
    }
}
